Ext.onReady(function()
{
    var store = new X.store.Json({
        url : '/ingreso/ajax-listar',
        fields : [
            'codigoComprobante',
            'numeroComprobante',
            'codigoMovimiento',
            'fechaMovimiento',
            'cantidad',
            'concepto',
            'monto',
            'observaciones',
            'nombreRubro',
            'codigo',
            'valueField'
        ]
    });

    store.addListener('load', function(store, records, options){
        for(var i=0; i<store.getCount(); i++){
            var record = store.getAt(i);
            record.set('valueField', record.get('codigo') + ' ' + record.get('nombreRubro'));
            record.commit();
        }
    });

    new X.grid.GridPanel({

        id       : 'grid',
        title    : 'Lista de Ingresos',
        height   : 500,
        width    : 1227,
        store    : store,

        columns:[
            new X.column.Number({header: 'N° comprobante', dataIndex: 'numeroComprobante', width: 95}),
            new X.column.Date  ({header: 'Fecha',          dataIndex: 'fechaMovimiento',   width: 85}),
            new X.column.Number({header: 'Cantidad',       dataIndex: 'cantidad',          width: 57}),
            new X.column.Text  ({header: 'Concepto',       dataIndex: 'concepto',          width: 250}),
            new X.column.Money ({header: 'Monto',          dataIndex: 'monto',             width: 90}),
            new X.column.Text  ({header: 'Observaciones',  dataIndex: 'observaciones',     width: 240}),
            new X.column.Text  ({header: 'Rubro',          dataIndex: 'valueField',        width: 330}),

            new X.column.Edit  ({editUrl    : '/ingreso/editar',
                                 idColumn   : 'codigoComprobante'}),

            new X.column.Delete({deleteUrl  : '/ingreso/ajax-eliminar',
                                 idColumn   : 'codigoMovimiento',
                                 customMsg  : '¿Está seguro de eliminar el ingreso seleccionado?'
                                })
        ]
    });
});
